package org.matheclipse.core.integrate.rubi45;


import static org.matheclipse.core.expression.F.*;
import static org.matheclipse.core.integrate.rubi45.UtilityFunctionCtors.*;
import static org.matheclipse.core.integrate.rubi45.UtilityFunctions.*;
import org.matheclipse.core.interfaces.IAST;

/** 
 * IndefiniteIntegrationRules from the <a href="http://www.apmaths.uwo.ca/~arich/">Rubi -
 * rule-based integrator</a>.
 *  
 */
public class IntRules26 { 
  public static IAST RULES = List( 
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_DEFAULT)),x_Symbol),
    Condition(Int(Times(Power(x,m),Power(Times(Plus(a,b,c),Power(x,n)),p)),x),And(And(FreeQ(List(a,b,c,m,n,p),x),ZeroQ(Plus(q,Negate(n)))),ZeroQ(Plus(r,Negate(n)))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_DEFAULT)),x_Symbol),
    Condition(Int(Times(Power(x,Plus(m,Times(p,q))),Power(Plus(a,Times(b,Power(x,Plus(n,Negate(q)))),Times(c,Power(x,Times(C2,Plus(n,Negate(q)))))),p)),x),And(And(And(FreeQ(List(a,b,c,m,n,q),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),IntegerQ(p)),PosQ(Plus(n,Negate(q)))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),CN1D2)),x_Symbol),
    Condition(Times(Power(x,Times(C1D2,q)),Sqrt(Plus(a,Times(b,Power(x,Plus(n,Negate(q)))),Times(c,Power(x,Times(C2,Plus(n,Negate(q))))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),CN1D2),Int(Times(Power(x,Plus(m,Times(CN1,C1D2,q))),Power(Plus(a,Times(b,Power(x,Plus(n,Negate(q)))),Times(c,Power(x,Times(C2,Plus(n,Negate(q)))))),CN1D2)),x)),And(And(And(FreeQ(List(a,b,c,m,n,q),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Or(And(And(ZeroQ(Plus(m,Negate(C1))),ZeroQ(Plus(n,Negate(C3)))),ZeroQ(Plus(q,Negate(C2)))),And(And(Or(Or(Or(ZeroQ(Plus(m,C1D2)),ZeroQ(Plus(m,Negate(QQ(3L,2L))))),ZeroQ(Plus(m,Negate(C1D2)))),ZeroQ(Plus(m,Negate(QQ(5L,2L))))),ZeroQ(Plus(n,Negate(C3)))),ZeroQ(Plus(q,Negate(C1)))))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),QQ(-3L,2L))),x_Symbol),
    Condition(Times(CN2,Power(x,Times(C1D2,Plus(n,Negate(C1)))),Plus(b,Times(C2,c,x)),Power(Times(Plus(Sqr(b),Times(CN1,C4,a,c)),Sqrt(Plus(Times(a,Power(x,Plus(n,Negate(C1)))),Times(b,Power(x,n)),Times(c,Power(x,Plus(n,C1)))))),-1)),And(And(And(And(FreeQ(List(a,b,c,n),x),ZeroQ(Plus(m,Times(CN1,C3,C1D2,Plus(n,Negate(C1)))))),ZeroQ(Plus(q,Negate(n),C1))),ZeroQ(Plus(r,Negate(n),Negate(C1)))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),QQ(-3L,2L))),x_Symbol),
    Condition(Times(Power(x,Times(C1D2,Plus(n,Negate(C1)))),Plus(Times(C4,a),Times(C2,b,x)),Power(Times(Plus(Sqr(b),Times(CN1,C4,a,c)),Sqrt(Plus(Times(a,Power(x,Plus(n,Negate(C1)))),Times(b,Power(x,n)),Times(c,Power(x,Plus(n,C1)))))),-1)),And(And(And(And(FreeQ(List(a,b,c,n),x),ZeroQ(Plus(m,Times(CN1,C1D2,Plus(Times(C3,n),Negate(C1)))))),ZeroQ(Plus(q,Negate(n),C1))),ZeroQ(Plus(r,Negate(n),Negate(C1)))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,Negate(n))),Power(Plus(Times(a,Power(x,Plus(n,Negate(C1)))),Times(b,Power(x,n)),Times(c,Power(x,Plus(n,C1)))),Plus(p,C1)),Power(Times(C2,c,Plus(p,C1)),-1)),Times(CN1,b,Power(Times(C2,c),-1),Int(Times(Power(x,Plus(m,Negate(C1))),Power(Plus(Times(a,Power(x,Plus(n,Negate(C1)))),Times(b,Power(x,n)),Times(c,Power(x,Plus(n,C1)))),p)),x))),And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Equal(Plus(m,Times(p,Plus(n,Negate(C1))),Negate(C1)),C0)))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,Negate(n),q,C1)),Plus(b,Times(C2,c,Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p),Power(Times(C2,c,Plus(n,Negate(q)),Plus(Times(C2,p),C1)),-1)),Times(CN1,p,Plus(Sqr(b),Times(CN1,C4,a,c)),Power(Times(C2,c,Plus(Times(C2,p),C1)),-1),Int(Times(Power(x,Plus(m,q)),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,Negate(C1)))),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Greater(p,C0)),Equal(Plus(m,Times(p,q),C1),Plus(n,Negate(q)))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,Negate(n),q,C1)),Plus(Times(b,Plus(n,Negate(q)),p),Times(c,Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(Times(C2,p),Negate(C1))),C1),Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p),Power(Times(c,Plus(m,Times(p,Plus(Times(C2,n),Negate(q))),C1),Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(Times(C2,p),Negate(C1))),C1)),-1)),Times(Plus(n,Negate(q)),p,Power(Times(c,Plus(m,Times(p,Plus(Times(C2,n),Negate(q))),C1),Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(Times(C2,p),Negate(C1))),C1)),-1),Int(Times(Power(x,Plus(m,Negate(Plus(n,Times(CN1,C2,q))))),Simp(Plus(Times(CN1,a,b,Plus(m,Times(p,q),Negate(n),q,C1)),Times(Plus(Times(C2,a,c,Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(Times(C2,p),Negate(C1))),C1)),Times(CN1,Sqr(b),Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(p,Negate(C1))),C1))),Power(x,Plus(n,Negate(q))))),x),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,Negate(C1)))),x))),And(And(And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Greater(p,C0)),Greater(Plus(m,Times(p,q),C1),Plus(n,Negate(q)))),Unequal(Plus(m,Times(p,Plus(Times(C2,n),Negate(q))),C1),C0)),Unequal(Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(Times(C2,p),Negate(C1))),C1),C0)))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,C1)),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p),Power(Plus(m,Times(p,q),C1),-1)),Times(CN1,Plus(n,Negate(q)),p,Power(Plus(m,Times(p,q),C1),-1),Int(Times(Power(x,Plus(m,n)),Plus(b,Times(C2,c,Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,Negate(C1)))),x))),And(And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Greater(p,C0)),LessEqual(Plus(m,Times(p,q),C1),Plus(Negate(Plus(n,Negate(q))),C1))),NonzeroQ(Plus(m,Times(p,q),C1))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,C1)),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p),Power(Plus(m,Times(p,Plus(Times(C2,n),Negate(q))),C1),-1)),Times(Plus(n,Negate(q)),p,Power(Plus(m,Times(p,Plus(Times(C2,n),Negate(q))),C1),-1),Int(Times(Power(x,Plus(m,q)),Plus(Times(C2,a),Times(b,Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,Negate(C1)))),x))),And(And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Greater(p,C0)),Greater(Plus(m,Times(p,q),C1),Negate(Plus(n,Negate(q))))),Unequal(Plus(m,Times(p,Plus(Times(C2,n),Negate(q))),C1),C0)))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(CN1,Power(x,Plus(m,Negate(q),C1)),Plus(Sqr(b),Times(CN1,C2,a,c),Times(b,c,Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1)),Power(Times(a,Plus(n,Negate(q)),Plus(p,C1),Plus(Sqr(b),Times(CN1,C4,a,c))),-1)),Times(Plus(Times(C2,a,c),Times(CN1,Sqr(b),Plus(p,C2))),Power(Times(a,Plus(p,C1),Plus(Sqr(b),Times(CN1,C4,a,c))),-1),Int(Times(Power(x,Plus(m,Negate(q))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1))),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Less(p,CN1)),Equal(Plus(m,Times(p,q),C1),Times(CN1,Plus(n,Negate(q)),Plus(Times(C2,p),C3)))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(CN1,Power(x,Plus(m,Times(CN1,C2,n),q,C1)),Plus(Times(C2,a),Times(b,Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1)),Power(Times(Plus(n,Negate(q)),Plus(p,C1),Plus(Sqr(b),Times(CN1,C4,a,c))),-1)),Times(Power(Times(Plus(n,Negate(q)),Plus(p,C1),Plus(Sqr(b),Times(CN1,C4,a,c))),-1),Int(Times(Power(x,Plus(m,Times(CN1,C2,n),q)),Plus(Times(C2,a,Plus(m,Times(p,q),Times(CN1,C2,Plus(n,Negate(q))),C1)),Times(b,Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(Times(C2,p),C1)),C1),Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1))),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Less(p,CN1)),Greater(Plus(m,Times(p,q),C1),Times(C2,Plus(n,Negate(q))))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(CN1,Power(x,Plus(m,Negate(q),C1)),Plus(Sqr(b),Times(CN1,C2,a,c),Times(b,c,Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1)),Power(Times(a,Plus(n,Negate(q)),Plus(p,C1),Plus(Sqr(b),Times(CN1,C4,a,c))),-1)),Times(Power(Times(a,Plus(n,Negate(q)),Plus(p,C1),Plus(Sqr(b),Times(CN1,C4,a,c))),-1),Int(Times(Power(x,Plus(m,Negate(q))),Plus(Times(Sqr(b),Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(p,C1)),C1)),Times(CN1,C2,a,c,Plus(m,Times(p,q),Times(C2,Plus(n,Negate(q)),Plus(p,C1)),C1)),Times(b,c,Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(Times(C2,p),C3)),C1),Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1))),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Less(p,CN1)),Less(Plus(m,Times(p,q),C1),Plus(n,Negate(q)))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,Negate(n),C1)),Plus(b,Times(C2,c,Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1)),Power(Times(Plus(n,Negate(q)),Plus(p,C1),Plus(Sqr(b),Times(CN1,C4,a,c))),-1)),Times(CN1,Power(Times(Plus(n,Negate(q)),Plus(p,C1),Plus(Sqr(b),Times(CN1,C4,a,c))),-1),Int(Times(Power(x,Plus(m,Negate(n))),Plus(Times(b,Plus(m,Times(p,q),Negate(n),q,C1)),Times(C2,c,Plus(m,Times(p,q),Times(C2,Plus(n,Negate(q)),Plus(p,C1)),C1),Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1))),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),Less(p,CN1)),Less(Less(Plus(n,Negate(q)),Plus(m,Times(p,q),C1)),Times(C2,Plus(n,Negate(q))))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,Times(CN1,C2,n),q,C1)),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1)),Power(Times(C2,c,Plus(n,Negate(q)),Plus(p,C1)),-1)),Times(CN1,b,Power(Times(C2,c),-1),Int(Times(Power(x,Plus(m,Negate(n),q)),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p)),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),And(LessEqual(CN1,p),Less(p,C0))),Equal(Plus(m,Times(p,q),C1),Times(C2,Plus(n,Negate(q))))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(CN1,Power(x,Plus(m,Negate(q),C1)),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1)),Power(Times(C2,a,Plus(n,Negate(q)),Plus(p,C1)),-1)),Times(CN1,b,Power(Times(C2,a),-1),Int(Times(Power(x,Plus(m,n,Negate(q))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p)),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),And(LessEqual(CN1,p),Less(p,C0))),Equal(Plus(m,Times(p,q),C1),Times(CN2,Plus(n,Negate(q)),Plus(p,C1)))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,Times(CN1,C2,n),q,C1)),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1)),Power(Times(c,Plus(m,Times(p,q),Times(C2,Plus(n,Negate(q)),p),C1)),-1)),Times(CN1,Power(Times(c,Plus(m,Times(p,q),Times(C2,Plus(n,Negate(q)),p),C1)),-1),Int(Times(Power(x,Plus(m,Times(CN1,C2,Plus(n,Negate(q))))),Plus(Times(a,Plus(m,Times(p,q),Times(CN1,C2,Plus(n,Negate(q))),C1)),Times(b,Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(p,Negate(C1))),C1),Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p)),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),And(LessEqual(CN1,p),Less(p,C0))),Greater(Plus(m,Times(p,q),C1),Times(C2,Plus(n,Negate(q))))))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Plus(Times(Power(x,Plus(m,Negate(q),C1)),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),Plus(p,C1)),Power(Times(a,Plus(m,Times(p,q),C1)),-1)),Times(CN1,Power(Times(a,Plus(m,Times(p,q),C1)),-1),Int(Times(Power(x,Plus(m,n,Negate(q))),Plus(Times(b,Plus(m,Times(p,q),Times(Plus(n,Negate(q)),Plus(p,C1)),C1)),Times(c,Plus(m,Times(p,q),Times(C2,Plus(n,Negate(q)),Plus(p,C1)),C1),Power(x,Plus(n,Negate(q))))),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p)),x))),And(And(And(And(And(And(And(And(FreeQ(List(a,b,c),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),PosQ(Plus(n,Negate(q)))),Not(IntegerQ(p))),NonzeroQ(Plus(Sqr(b),Times(CN1,C4,a,c)))),PositiveIntegerQ(n)),RationalQ(m,p,q)),And(LessEqual(CN1,p),Less(p,C0))),Less(Plus(m,Times(p,q),C1),C0)))),
ISetDelayed(Int(Times(Power(x_,m_DEFAULT),Power(Plus(Times(b_DEFAULT,Power(x_,n_DEFAULT)),Times(a_DEFAULT,Power(x_,q_DEFAULT)),Times(c_DEFAULT,Power(x_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Times(Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p),Power(Times(Power(x,Times(p,q)),Power(Plus(a,Times(b,Power(x,Plus(n,Negate(q)))),Times(c,Power(x,Times(C2,Plus(n,Negate(q)))))),p)),-1),Int(Times(Power(x,Plus(m,Times(p,q))),Power(Plus(a,Times(b,Power(x,Plus(n,Negate(q)))),Times(c,Power(x,Times(C2,Plus(n,Negate(q)))))),p)),x)),And(And(And(FreeQ(List(a,b,c,m,n,p,q),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),Not(IntegerQ(p))),PosQ(Plus(n,Negate(q)))))),
ISetDelayed(Int(Times(Power(u_,m_DEFAULT),Power(Plus(Times(a_DEFAULT,Power(v_,q_DEFAULT)),Times(b_DEFAULT,Power(w_,n_DEFAULT)),Times(c_DEFAULT,Power(z_,r_DEFAULT))),p_)),x_Symbol),
    Condition(Times(Power(Coefficient(u,x,C1),-1),Subst(Int(Times(Power(x,m),Power(Plus(Times(a,Power(x,q)),Times(b,Power(x,n)),Times(c,Power(x,Plus(Times(C2,n),Negate(q))))),p)),x),x,u)),And(And(And(And(And(And(FreeQ(List(a,b,c,m,n,p,q),x),ZeroQ(Plus(r,Negate(Plus(Times(C2,n),Negate(q)))))),ZeroQ(Plus(u,Negate(v)))),ZeroQ(Plus(u,Negate(w)))),ZeroQ(Plus(u,Negate(z)))),LinearQ(u,x)),NonzeroQ(Plus(u,Negate(x)))))),
ISetDelayed(Int(Times(Power(u_,p_DEFAULT),Power(x_,m_DEFAULT)),x_Symbol),
    Condition(Int(Times(Power(x,m),Power(ExpandToSum(u,x),p)),x),And(And(FreeQ(List(m,p),x),GeneralizedTrinomialQ(u,x)),Not(GeneralizedTrinomialMatchQ(u,x)))))
  );
}
